home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / pc / HPACK78S.ZIP / keycvt / mdc.h < prev   
Encoding:
C/C++ Source or Header  |  1992-10-14  |  1.4 KB  |  43 lines

  1. /****************************************************************************
  2. *                                                                            *
  3. *                            MDC.H - MDC interface header                    *
  4. *                                                                            *
  5. *         Written by Peter Gutmann, pgut1@cs.aukuni.ac.nz, September 1992        *
  6. *                    You can use this code in any way you want,                *
  7. *        although it'd be nice if you kept my name + contact address on it     *
  8. *                                                                            *
  9. ****************************************************************************/
  10.  
  11. #include "md5.h"
  12.  
  13. /* The block size (in bytes) */
  14.  
  15. #define BLOCKSIZE    16
  16.  
  17. /* The default IV value used to seed the cipher in initKey().  Changing this
  18.    for each file precludes the use of precomputed encrypted data for very
  19.    fast checking against known plaintext */
  20.  
  21. #define DEFAULT_IV        ( ( BYTE * ) "\0\0\0\0\0\0\0\0" )
  22.  
  23. #define IV_SIZE            8
  24.  
  25. /* Define for simple block encryption */
  26.  
  27. void MD5Transform( LONG *digest, LONG *data );
  28.  
  29. #ifdef LITTLE_ENDIAN
  30.   #define mdcTransform(iv)    longReverse( ( LONG * ) iv, BLOCKSIZE ); \
  31.                             MD5Transform( ( LONG * ) iv, ( LONG * ) auxKey ); \
  32.                             longReverse( ( LONG * ) iv, BLOCKSIZE )
  33. #else
  34.   #define mdcTransform(iv)    MD5Transform( ( LONG * ) iv, ( LONG * ) auxKey )
  35. #endif /* LITTLE_ENDIAN */
  36.  
  37. /* Prototypes for functions in MDC.C */
  38.  
  39. void initKey( BYTE *key, int keyLength, const BYTE *iv );
  40. void encryptCFB( BYTE *buffer, int length );
  41. void decryptCFB( BYTE *buffer, int length );
  42. BYTE *getIV( void );
  43.